<?php

session_start();

class LoginHandler {

	private $loginSession;

	public function IsLoggedIn() {
		if(isset($_SESSION[$this->loginSession]) == true) {
			return true;
		}
		return false;
		
	}

	public function DoLogin($username, $password){

		if ($username != null && $password != null){ //Kollar så att username och password inte är null
			switch ($username){
				case "edin"; //Användarnamn
			  	if ($password == "1234"){ //Om lösenordet är 1234 returnerar denna if sats true
			  		$_SESSION[$this->loginSession] = true;
			  		return true;
			  	}
			  	return false;
			  	break; 
			  	
			  	case "ed"; //Användarnamn
			  	if ($password == "6545"){ //Om lösenordet är 6545 returnerar denna if sats true
			  		$_SESSION[$this->loginSession] = true;
			  		return true;
			  	}
			  	return false;	 	 
				break;
			}
		}
		
		else {
			return false;
		}
	}

	public function DoLogout(){ 
		unset($_SESSION[$this->loginSession]);//Loggar ut genom att avsluta sessionen..
	}

	public function Test() {
		
		$this->DoLogout(); // loggar ut
		
		if($this->IsLoggedIn() == true){ //IsLoggedIn kollar om man är inloggad
			echo "Test 1 misslyckades - IsLoggedIn tror att du är inloggad!";
			return false;
		}
		
		if ($this->DoLogin("edin", "4321") == true){ //Testar logga in med felaktiga uppgifter..
			echo "Test 2 misslyckades - Du kan logga in med felaktiga uppgifter!";
			return false;
		}
		if ($this->DoLogin("edn", "4321") == true){ //Testar logga in med felaktiga uppgifter..
			echo "Test 2 misslyckades - Du kan logga in med felaktiga uppgifter!";
			return false;
		}
			if($this->IsLoggedIn() == true){ //IsLoggedIn kollar om man är inloggad
			echo "Test 1 misslyckades - IsLoggedIn tror att du är inloggad!";
			return false;
		}
		
		if ($this->DoLogin("ed", "6545") == false){ //Testar logga in med rätt uppgifter
			echo "Test 3 misslyckades - Du kan inte logga in med rätt uppgifter!";
			return false;
		}

		if ($this->IsLoggedIn() == false){ //Kontrollerar om man fortfarande är inloggad
			echo "Test 4 misslyckades - Du är fortfarande inloggad!";
			return false;
		}
		$this->DoLogout();
		if($this->IsLoggedIn() == true){ //IsLoggedIn kollar om man är inloggad
			echo "Test 1 misslyckades - IsLoggedIn tror att du är inloggad!";
			return false;
		}
		return true;
	}
}
